var app=new Vue({
    el:'#app',
    data:{
        result: {
            value:'0'
        }
    },
    methods:{
        inputValue(content){
            // 如果是数字类型，说明是上个计算结果,就清空内容
            // if(Object.prototype.toString.call(this.result.value)=="[object Number]"){
            //     this.result.value='0';
            // }
            // 将输入框内容转为字符串类型
            var str=''+this.result.value;
            var len=str.length;
            var arr=["+","-","x","÷"];
            // num为输入框内最后一串数字
            // 反复的分合逆序都是有意义的
            var num=(''+parseFloat(str.split('').reverse().join(''))).split('').reverse().join('');
            var nlen=num.length;
            // 输入框内最后一串数字不为0时拼接字符串
            if((num!='0'&&content!='.')||(content=='.'&&num.indexOf('.')==-1)){
                // 若一开始输入内容为运算符,输入无效
                if(arr.indexOf(str.charAt(len-1))!=-1&&arr.indexOf(content)!=-1){
                    return;
                }
                // 拼接输入内容
                this.result.value+=content;
            }
            else{
                arr.push('%');
                // 若num中已有小数点,输入内容为小数点,视为无效
                if(content=='.'){
                    return;
                }
                else if(!(arr.indexOf(content)!=-1)){
                    this.result.value=str.substring(0,str.length-nlen)+content;
                }
            }
        },
        // 清空输入框内容
        clearValue(){
            this.result.value='0';
        },
        // 计算结果
        calValue(){
            var str=this.result.value;
            str=str.replace('x','*').replace('÷','/');
            try{
                this.result.value=eval(str);
            }
            catch(error){
                return;
            }
        },
        // 平方计算
        squareValue(){
            var str=this.result.value;
            this.result.value=Math.pow(eval(str),2)
        },
        // 开方计算
        radicalValue(){
            var str = this.result.value;
            this.result.value= Math.sqrt(eval(str));
        },
        // 删除键,删除单个字符
        backValue(){
            var str = this.result.value;
            if(str.length == 1){
                this.result.value= "0";
            }else{
                this.result.value= str.slice(0,str.length-1);
            }
        }
    }
})